﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel;

///Author: NHDuc 
namespace VietThuongLMS.Areas.Admin.Models
{
    //Create
    public class AccountModel
    {
        [Required(AllowEmptyStrings = false, ErrorMessage = "(*) Tên tài khoản không được để trống")]
        [RegularExpression("^[a-zA-Z0-9@]{3,25}$", ErrorMessage = "Tên tài khoản không hợp lệ.")]
        public string UserName { get; set; }

        [Required(AllowEmptyStrings = false, ErrorMessage = "(*) Họ tên không được để trống")]
        public string FullName { get; set; }

        public string Address { get; set; }

        [Required(AllowEmptyStrings = false, ErrorMessage = "(*) Số điện thoại không được để trống")]
        public string Phone { get; set; }

        public string Sex { get; set; }

        public string Birthday { get; set; }

        public string Job { get; set; }

        public string Location_Work { get; set; }

        public string Class { get; set; }

        [DataType(DataType.EmailAddress)]
        [Required(AllowEmptyStrings = false, ErrorMessage = "(*) Email không được để trống")]
        [DisplayName("Email address")]
        [RegularExpression("^[A-Za-z0-9]+@[a-zA-Z0-9]+(\\.[a-zA-Z0-9]+)*\\.([a-zA-Z]{2,4})$", ErrorMessage = "Email chưa hợp lệ.")]
        public string Email { get; set; }

        public string CreatedDate { get; set; }

        [Required(AllowEmptyStrings = false, ErrorMessage = "(*) Quyền không được để trống")]
        public string Role { get; set; }

        //[Required(AllowEmptyStrings = false, ErrorMessage = "(*) Mật khẩu không được để trống")]
        [RegularExpression("^[a-zA-Z0-9'@&#.]{6,35}$", ErrorMessage = "Mật khẩu không hợp lệ.")]
        public string Password { get; set; }
    }

    public class ChangePassModel
    {
        [Required(AllowEmptyStrings = false, ErrorMessage = "(*) Mật khẩu cũ không được để trống")]
        public string OldPass { get; set; }

        [Required(AllowEmptyStrings = false, ErrorMessage = "(*) Mật khẩu mới không được để trống")]
        public string NewPass { get; set; }

        [Required(AllowEmptyStrings = false, ErrorMessage = "(*) Xác nhận mật khẩu không được để trống")]
        public string RetypePass { get; set; }
    }

    #region Models
    public class LogOnModel
    {
        [Required(ErrorMessage = "(*) Tên tài khoản không được để trống.")]
        [DisplayName("Tài khoản")]
        public string UserName { get; set; }

        [Required(ErrorMessage = "(*) Mật khẩu không được để trống.")]
        [DataType(DataType.Password)]
        [DisplayName("Mật khẩu")]
        public string Password { get; set; }

        [DisplayName("Ghi nhớ?")]
        public bool RememberMe { get; set; }
    }

    #endregion
}